[INFO] fetching crate jobsteal 0.5.1...
[INFO] testing jobsteal-0.5.1 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate jobsteal 0.5.1 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate jobsteal 0.5.1
[INFO] finished tweaking crates.io crate jobsteal 0.5.1
[INFO] tweaked toml for crates.io crate jobsteal 0.5.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate jobsteal 0.5.1 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 11 packages to latest compatible versions
[INFO] [stderr]       Adding crossbeam v0.2.12 (available: v0.8.4)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.10.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand v0.3.23
[INFO] [stderr]   Downloaded crossbeam v0.2.12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8030442f50cb832b28403098abf2f74958d4d164165b0159faecd79add2d924a
[INFO] running `Command { std: "docker" "start" "-a" "8030442f50cb832b28403098abf2f74958d4d164165b0159faecd79add2d924a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8030442f50cb832b28403098abf2f74958d4d164165b0159faecd79add2d924a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8030442f50cb832b28403098abf2f74958d4d164165b0159faecd79add2d924a", kill_on_drop: false }`
[INFO] [stdout] 8030442f50cb832b28403098abf2f74958d4d164165b0159faecd79add2d924a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1e0cdaaed0ea73ecc61022750d2b3d6441365209aa869a4aaaa2b2fcd4a35420
[INFO] running `Command { std: "docker" "start" "-a" "1e0cdaaed0ea73ecc61022750d2b3d6441365209aa869a4aaaa2b2fcd4a35420", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling crossbeam v0.2.12
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling jobsteal v0.5.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/iter/map.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stdout]    |                              ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 86 -     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stdout] 86 +     fn call<I: Iterator<Item=&'a U >>(self, iter: I) -> Self::Out {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/iter/map.rs:92:28
[INFO] [stdout]    |
[INFO] [stdout] 92 | where T: Consumer<In, Item=(&'a U)> {
[INFO] [stdout]    |                            ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 - where T: Consumer<In, Item=(&'a U)> {
[INFO] [stdout] 92 + where T: Consumer<In, Item=&'a U > {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/iter/map.rs:100:80
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stdout]     |                                                                                ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 100 - impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stdout] 100 + impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=&'a U > {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/iter/mod.rs:302:20
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn split(self, usize) -> (Self, Self);
[INFO] [stdout]     |                    ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/iter/mod.rs:517:40
[INFO] [stdout]     |
[INFO] [stdout] 517 |     fn call<I: Iterator<Item=T>>(self, I) -> Self::Out;
[INFO] [stdout]     |                                        ^ help: try naming the parameter or explicitly ignoring it: `_: I`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:319:26
[INFO] [stdout]     |
[INFO] [stdout] 319 |             let handle = try!(builder.spawn(move || worker_main(worker)));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Heap(Box<Thunk>),
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Heap(Box<dyn Thunk>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:88:34
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<dyn Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:88:89
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<dyn Thunk + 'a>) };
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/job.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let fat_ptr: *mut Thunk = code_ptr;
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let fat_ptr: *mut dyn Thunk = code_ptr;
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/job.rs:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let code_ptr: *mut Thunk = mem::transmute(t_obj);
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let code_ptr: *mut dyn Thunk = mem::transmute(t_obj);
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/arena.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut buf = self.buf.get();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.09s
[INFO] running `Command { std: "docker" "inspect" "1e0cdaaed0ea73ecc61022750d2b3d6441365209aa869a4aaaa2b2fcd4a35420", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e0cdaaed0ea73ecc61022750d2b3d6441365209aa869a4aaaa2b2fcd4a35420", kill_on_drop: false }`
[INFO] [stdout] 1e0cdaaed0ea73ecc61022750d2b3d6441365209aa869a4aaaa2b2fcd4a35420
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 245a4831ad4c49e4b77481bf0b1eced8b826526ffb42bb25c0afc23e18a66e92
[INFO] running `Command { std: "docker" "start" "-a" "245a4831ad4c49e4b77481bf0b1eced8b826526ffb42bb25c0afc23e18a66e92", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling jobsteal v0.5.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/iter/map.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stdout]    |                              ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 86 -     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stdout] 86 +     fn call<I: Iterator<Item=&'a U >>(self, iter: I) -> Self::Out {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/iter/map.rs:92:28
[INFO] [stdout]    |
[INFO] [stdout] 92 | where T: Consumer<In, Item=(&'a U)> {
[INFO] [stdout]    |                            ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 - where T: Consumer<In, Item=(&'a U)> {
[INFO] [stdout] 92 + where T: Consumer<In, Item=&'a U > {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/iter/map.rs:100:80
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stdout]     |                                                                                ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 100 - impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stdout] 100 + impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=&'a U > {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/iter/mod.rs:302:20
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn split(self, usize) -> (Self, Self);
[INFO] [stdout]     |                    ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/iter/mod.rs:517:40
[INFO] [stdout]     |
[INFO] [stdout] 517 |     fn call<I: Iterator<Item=T>>(self, I) -> Self::Out;
[INFO] [stdout]     |                                        ^ help: try naming the parameter or explicitly ignoring it: `_: I`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:319:26
[INFO] [stdout]     |
[INFO] [stdout] 319 |             let handle = try!(builder.spawn(move || worker_main(worker)));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Heap(Box<Thunk>),
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Heap(Box<dyn Thunk>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:88:34
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<dyn Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:88:89
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<dyn Thunk + 'a>) };
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/job.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let fat_ptr: *mut Thunk = code_ptr;
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let fat_ptr: *mut dyn Thunk = code_ptr;
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/job.rs:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let code_ptr: *mut Thunk = mem::transmute(t_obj);
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let code_ptr: *mut dyn Thunk = mem::transmute(t_obj);
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/arena.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut buf = self.buf.get();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/iter/map.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stdout]    |                              ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 86 -     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stdout] 86 +     fn call<I: Iterator<Item=&'a U >>(self, iter: I) -> Self::Out {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/iter/map.rs:92:28
[INFO] [stdout]    |
[INFO] [stdout] 92 | where T: Consumer<In, Item=(&'a U)> {
[INFO] [stdout]    |                            ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 - where T: Consumer<In, Item=(&'a U)> {
[INFO] [stdout] 92 + where T: Consumer<In, Item=&'a U > {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/iter/map.rs:100:80
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stdout]     |                                                                                ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 100 - impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stdout] 100 + impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=&'a U > {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/iter/mod.rs:302:20
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn split(self, usize) -> (Self, Self);
[INFO] [stdout]     |                    ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/iter/mod.rs:517:40
[INFO] [stdout]     |
[INFO] [stdout] 517 |     fn call<I: Iterator<Item=T>>(self, I) -> Self::Out;
[INFO] [stdout]     |                                        ^ help: try naming the parameter or explicitly ignoring it: `_: I`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:319:26
[INFO] [stdout]     |
[INFO] [stdout] 319 |             let handle = try!(builder.spawn(move || worker_main(worker)));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Heap(Box<Thunk>),
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Heap(Box<dyn Thunk>),
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:88:34
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<dyn Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/job.rs:88:89
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<dyn Thunk + 'a>) };
[INFO] [stdout]    |                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/job.rs:101:31
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let fat_ptr: *mut Thunk = code_ptr;
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let fat_ptr: *mut dyn Thunk = code_ptr;
[INFO] [stdout]     |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/job.rs:129:36
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let code_ptr: *mut Thunk = mem::transmute(t_obj);
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let code_ptr: *mut dyn Thunk = mem::transmute(t_obj);
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/arena.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let mut buf = self.buf.get();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.21s
[INFO] running `Command { std: "docker" "inspect" "245a4831ad4c49e4b77481bf0b1eced8b826526ffb42bb25c0afc23e18a66e92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "245a4831ad4c49e4b77481bf0b1eced8b826526ffb42bb25c0afc23e18a66e92", kill_on_drop: false }`
[INFO] [stdout] 245a4831ad4c49e4b77481bf0b1eced8b826526ffb42bb25c0afc23e18a66e92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e7424a5a06f9a9245255b392588c0ed087917aadf7fc2c5ae8556c6c52ae2751
[INFO] running `Command { std: "docker" "start" "-a" "e7424a5a06f9a9245255b392588c0ed087917aadf7fc2c5ae8556c6c52ae2751", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/iter/map.rs:86:30
[INFO] [stderr]    |
[INFO] [stderr] 86 |     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stderr]    |                              ^     ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 86 -     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stderr] 86 +     fn call<I: Iterator<Item=&'a U >>(self, iter: I) -> Self::Out {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/iter/map.rs:92:28
[INFO] [stderr]    |
[INFO] [stderr] 92 | where T: Consumer<In, Item=(&'a U)> {
[INFO] [stderr]    |                            ^     ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 92 - where T: Consumer<In, Item=(&'a U)> {
[INFO] [stderr] 92 + where T: Consumer<In, Item=&'a U > {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/iter/map.rs:100:80
[INFO] [stderr]     |
[INFO] [stderr] 100 | impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stderr]     |                                                                                ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 100 - impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stderr] 100 + impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=&'a U > {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/iter/mod.rs:302:20
[INFO] [stderr]     |
[INFO] [stderr] 302 |     fn split(self, usize) -> (Self, Self);
[INFO] [stderr]     |                    ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr]     = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/iter/mod.rs:517:40
[INFO] [stderr]     |
[INFO] [stderr] 517 |     fn call<I: Iterator<Item=T>>(self, I) -> Self::Out;
[INFO] [stderr]     |                                        ^ help: try naming the parameter or explicitly ignoring it: `_: I`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/lib.rs:319:26
[INFO] [stderr]     |
[INFO] [stderr] 319 |             let handle = try!(builder.spawn(move || worker_main(worker)));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/job.rs:63:14
[INFO] [stderr]    |
[INFO] [stderr] 63 |     Heap(Box<Thunk>),
[INFO] [stderr]    |              ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 63 |     Heap(Box<dyn Thunk>),
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/job.rs:88:34
[INFO] [stderr]    |
[INFO] [stderr] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stderr]    |                                  ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 88 |             let static_code: Box<dyn Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stderr]    |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/job.rs:88:89
[INFO] [stderr]    |
[INFO] [stderr] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<Thunk + 'a>) };
[INFO] [stderr]    |                                                                                         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 88 |             let static_code: Box<Thunk> = unsafe { mem::transmute(Box::new(code) as Box<dyn Thunk + 'a>) };
[INFO] [stderr]    |                                                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/job.rs:101:31
[INFO] [stderr]     |
[INFO] [stderr] 101 |             let fat_ptr: *mut Thunk = code_ptr;
[INFO] [stderr]     |                               ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 101 |             let fat_ptr: *mut dyn Thunk = code_ptr;
[INFO] [stderr]     |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/job.rs:129:36
[INFO] [stderr]     |
[INFO] [stderr] 129 |                 let code_ptr: *mut Thunk = mem::transmute(t_obj);
[INFO] [stderr]     |                                    ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 129 |                 let code_ptr: *mut dyn Thunk = mem::transmute(t_obj);
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/arena.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let mut buf = self.buf.get();
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `jobsteal` (lib) generated 12 warnings (run `cargo fix --lib -p jobsteal` to apply 11 suggestions)
[INFO] [stderr] warning: `jobsteal` (lib test) generated 12 warnings (12 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/jobsteal-5bd937ef4adcfedf)
[INFO] [stdout] running 18 tests
[INFO] [stdout] test iter::tests::doubling ... ok
[INFO] [stdout] test iter::vec::tests::it_works ... ok
[INFO] [stdout] test iter::fold::tests::fold_adding ... ok
[INFO] [stdout] test iter::collect::tests::collect_basics ... ok
[INFO] [stdout] test iter::all_any::tests::all_even ... ok
[INFO] [stdout] test tests::job_panic - should panic ... ok
[INFO] [stdout] test iter::filter::tests::filter_basics ... ok
[INFO] [stdout] test iter::all_any::tests::any_even ... ok
[INFO] [stdout] test iter::enumerate::tests::enumerate_basics ... ok
[INFO] [stdout] test iter::flat_map::tests::flat_map_basics ... ok
[INFO] [stdout] test tests::creation_destruction ... ok
[INFO] [stdout] test tests::join ... ok
[INFO] [stdout] test tests::join_scoping ... ok
[INFO] [stdout] test tests::outlives_pool ... ok
[INFO] [stdout] test tests::multilevel_scoping ... ok
[INFO] [stdout] test tests::scope_return ... ok
[INFO] [stdout] test tests::submit_large_jobs ... ok
[INFO] [stderr]    Doc-tests jobsteal
[INFO] [stdout] test tests::split_work ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.72s
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/iter/map.rs:86:30
[INFO] [stderr]    |
[INFO] [stderr] 86 |     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stderr]    |                              ^     ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 86 -     fn call<I: Iterator<Item=(&'a U)>>(self, iter: I) -> Self::Out {
[INFO] [stderr] 86 +     fn call<I: Iterator<Item=&'a U >>(self, iter: I) -> Self::Out {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/iter/map.rs:92:28
[INFO] [stderr]    |
[INFO] [stderr] 92 | where T: Consumer<In, Item=(&'a U)> {
[INFO] [stderr]    |                            ^     ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 92 - where T: Consumer<In, Item=(&'a U)> {
[INFO] [stderr] 92 + where T: Consumer<In, Item=&'a U > {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/iter/map.rs:100:80
[INFO] [stderr]     |
[INFO] [stderr] 100 | impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stderr]     |                                                                                ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 100 - impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=(&'a U)> {
[INFO] [stderr] 100 + impl<'a, T, U: Clone + 'a> Spliterator for Cloned<T> where T: Spliterator<Item=&'a U > {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 3 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test src/lib.rs - Spawner<'pool,'scope>::submit (line 116) ... ok
[INFO] [stdout] test src/iter/mod.rs - iter (line 13) ... ok
[INFO] [stdout] test src/lib.rs - Spawner<'pool,'scope>::recurse (line 59) ... ok
[INFO] [stdout] test src/lib.rs - Spawner<'pool,'scope>::scope (line 147) ... ok
[INFO] [stdout] test src/lib.rs - Spawner<'pool,'scope>::join (line 177) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.73s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e7424a5a06f9a9245255b392588c0ed087917aadf7fc2c5ae8556c6c52ae2751", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7424a5a06f9a9245255b392588c0ed087917aadf7fc2c5ae8556c6c52ae2751", kill_on_drop: false }`
[INFO] [stdout] e7424a5a06f9a9245255b392588c0ed087917aadf7fc2c5ae8556c6c52ae2751
